9-Il Cestino Smart con Sensore e Servo 🗑️🤖
1. Analisi del Problema
Dobbiamo trasformare un "movimento fisico" in un'azione digitale.
Input: La distanza misurata dal sensore ad ultrasuoni (HC-SR04).
Soglia: Se la mano è a meno di 10 cm.
Output (La Sequenza):
- Apertura (Rotazione a 180°).
- Pausa di movimento (Blocco a 90° dopo 500ms).
- Attesa (5 secondi per buttare la carta).
- Chiusura (Ritorno a 0°).
- Riposo (Blocco finale a 90°).
2. Il Cablaggio
Assicuriamoci di collegare correttamente il servo:
- Giallo/Arancione (Segnale): Pin P10.
- Rosso (VCC): 3V o batteria esterna.
- Marrone/Nero (GND): Pin GND.
3. La struttura dei blocchi (Logica "Sempre")
Dovrai trascinare questi blocchi dall'area MiniCar (per il sensore) e dall'area Pin (per il servo).
1. Preparazione della Variabile
Sotto il blocco per sempre (forever):
- Vai su
Variabili->Imposta [distanza] a... - Incastra il blocco della categoria
MiniCar:Ultrasonic port (cm)
2. La condizione "SE" (Il Cervello)
Subito sotto, aggiungi un blocco se [ ] allora ... altrimenti dalla categoria Logica:
- Nella condizione metti:
[distanza] < [10]
3. La sequenza di apertura (Dentro il "SE")
Qui scrivi i comandi per il movimento che hai chiesto:
- Apertura:
servomotore scrivi pin [P10] angolo [180](Categoria Avanzate -> Pin) - Movimento:
pausa (ms) [500](Categoria Fondamentali) - Blocco:
servomotore scrivi pin [P10] angolo [90](Ferma la forza del motore) - Attesa carta:
pausa (ms) [5000](I 5 secondi che hai chiesto) - Chiusura:
servomotore scrivi pin [P10] angolo [0] - Movimento:
pausa (ms) [500] - Riposo finale:
servomotore scrivi pin [P10] angolo [90]
4. La condizione di riposo (Dentro "ALTRIMENTI")
- Trascina un ultimo blocco:
servomotore scrivi pin [P10] angolo [90](Questo serve a dire al robot: "Se non c'è nessuno, tieni il braccetto del motore rilassato al centro").
💡 Suggerimenti per i blocchi:
- Dove trovo il Servo? Se non lo vedi, clicca su Avanzate (in fondo alla lista dei colori) -> Pin. Lì troverai il blocco rosso con scritto
servomotore scrivi pin.... - Il valore 90: Ricorda che per un servo standard a 180°, il valore 90 è la posizione centrale. Se vedi che il secchio non si chiude bene, prova a cambiare lo 0 con un 10 o il 180 con un 170.
- Velocità: Se il secchio "sbatte" troppo forte quando si chiude, aggiungi una piccola pausa tra gli angoli.
Prova a comporre i blocchi così: se metti la mano davanti al sensore ultrasuoni, il Micro:bit dovrebbe iniziare la sequenza e vedrai il braccetto del servo scattare!
4. Debugging Meccanico
Se non funziona, controllate:
- Il Servo "vibra" durante i 5 secondi: Significa che l'angolo 180° (o 0°) è troppo estremo e il servo sta spingendo contro il fine corsa meccanico del secchio. Soluzione: Provate a usare 160° e 20°.
- Letture false: Se il cestino si apre da solo, il sensore ultrasuoni sta leggendo un riflesso. Provate ad alzare la soglia a 5 cm o a inclinare leggermente il sensore.
- Potenza: Se il Micro:bit si resetta quando il servo parte, ricordate che la batteria 18650 (o pile nuove) è fondamentale per gestire lo spunto di corrente del motore.
Ricorda
Fai notare ai ragazzi perché usiamo l'angolo 90 per "fermare" il motore. In un servo standard a 180°, il valore 90 è il centro. Dandogli questo valore dopo il movimento, togliamo lo sforzo di "tiro" continuo, salvaguardando la vita degli ingranaggi in plastica del piccolo SG90.
Ti piace questa struttura o vuoi che aggiungiamo un segnale acustico (Beep) quando il secchio sta per chiudersi?